package com.aviatorscript.aviatorscript.dto;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 字段映射规则DTO类
 * 用于前端与后端的数据传输
 */
@Data
public class FieldMappingRuleDTO {

    /**
     * 字段映射规则ID - 更新时必传
     */
    private Long id;

    /**
     * 转换规则ID
     */
    private Long ruleId;

    /**
     * 源字段路径
     */
    private String sourceFieldPath;

    /**
     * 目标字段路径
     */
    private String targetFieldPath;

    /**
     * 源字段类型
     */
    private String sourceFieldType;

    /**
     * 目标字段类型
     */
    private String targetFieldType;

    /**
     * 映射类型：DIRECT, SCRIPT, CONSTANT, FUNCTION
     */
    private String mappingType;

    /**
     * AviatorScript转换脚本
     */
    private String transformScript;

    /**
     * 常量值
     */
    private String constantValue;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 是否必填
     */
    private Boolean required;

    /**
     * 排序顺序
     */
    private Integer sortOrder;

    /**
     * 是否启用
     */
    private Boolean enabled;

    /**
     * 备注说明
     */
    private String remark;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
} 